double lv1_knightpos []= {-2210,-2160,-2110,-2060,-2010,-1910,-1810,-1710,
                          -1610,-1360,-1310,-1260,-1160,-1060,-760,-610,-560,-510};
void crea_knight()
{
     for (int i=0;i<6;i++)                                                      
    {
        knights[i].activo=false;                                                
        knights[i].hits=0;   // 0 hits 
    }
     knight.alpha=255;                                                          // fija el nivel de alpha
     knight.createxturas("sprites/knight.dat");
     knight.x=300;
     knight.y=120;
     knight.animstart=0;
     knight.animpos=0;
     knight.animspeed=10;
     knight.animcount=2;
     knight.escala=1.1;
} 
void pinta_knight(double mappos,double *knightpos,int size)                                       // eventos=0->pausa,1->muerte
{
    /* crea */
    for (int i=0;i<size;i++)
    if (mappos==knightpos[i])                                              // crea un enemigo en esta posicion
     for (int i=0;i<6;i++)
      if (knights[i].activo==false)                                                       // si es 0 deja disparar
       {
         knights[i].activo=true;                                                // sprite activo
         knights[i].y=-32;                                                      //y
         knights[i].x=int(popolon.x)+16;                                        // x
         break;                                                                 // sale del bucle
        }                        
    /* mueve */
    for (int i=0;i<6;i++)
      if (knights[i].activo==true) // si y es mayor de -33 el sprite esta activo
       {
        if (is_game_stop==false) knights[i].y+=1;         // movimiento vertical.
        knight.y=knights[i].y;
        knight.x=knights[i].x;
        if (knights[i].y>480) knights[i].activo=false;                          //  desactiva si se sale de la pantalla
        if (knights[i].activo==true)
         {
          knight.pinta();                            // si esta activo pinta
          knight.anima();
         }
       }
}
       
 /* podriamos usar este modelo si no funciona bien la deteccion en las armas */      
        /* check arrow collisions 
       SDL_Rect Rknight={knights[i][0],knights[i][1],32,32};
       for (int c=0;c<6;c++)
        { // for
         SDL_Rect Rarrow={flechas[c][0],flechas[c][1],8,32};
         if (knight.colbox(&Rknight,&Rarrow) && Rarrow.y>0 && Rknight.y>0)
         {
          flechas[c][1]=0;                                                      // clear arrow in pos
          knights[i][2]+=1;
          if (knights[i][2]>3)                                   
           for (int b=0;b<128;b++) if (rass[b][1]==-1) 
            {
              knights[i][2]=0;                                                  // reset hits counter
              puntos+=500;                                                      // inc score
              rass[b][1]=knights[i][1];                                         // ras y position 
              rass[b][0]=knights[i][0];                                         // x
              knights[i][1]=-33;
              break;
            }
          } // en if   
       
       } // en for  */
       

